//package com.openecommerce.service.impl;
//
//import java.util.Date;
//import java.util.List;
//
//import javax.annotation.Resource;
//
//import com.openecommerce.constants.CommonConstants;
//import com.openecommerce.domain.Product;
//import com.openecommerce.domain.ProductCreateEntity;
//import com.openecommerce.domain.ProductEntity;
//import com.openecommerce.domain.ProductTierPrice;
//import com.openecommerce.persistence.ProductMapper;
//import com.openecommerce.persistence.ProductTierPriceMapper;
//import com.openecommerce.service.ProductService;
//import com.openecommerce.util.DateTimeUtils;
//
//public class ProductServiceImpl implements ProductService {
//	
//	@Resource
//	private ProductMapper productMapper;
//	@Resource
//	private ProductTierPriceMapper productTierPriceMapper;
//	
//	@Override
//	public List<ProductEntity> getList(String filter) {
//		return null;
//	}
//
//	@Override
//	public Product get(Long productId) {
//		return productMapper.selectByPrimaryKey(productId);
//	}
//
//	@Override
//	public int create(String type, String set, String sku,
//			ProductCreateEntity productData) {
//		Product product = new Product();
//		productData.fillChildObject(product);
//		product.setCreatedAt(new Date());
//		product.setType(type);
//		product.setSet(set);
//		product.setSku(sku);
//		int result = productMapper.insertSelective(product);
//		return result ;
//	}
//
//	@Override
//	public boolean update(Long productId, ProductCreateEntity productData) {
//		Product product = new Product();
//		productData.fillChildObject(product);
//		product.setUpdatedAt(new Date());
//		product.setProductId(productId);
//		int result = productMapper.updateByPrimaryKeySelective(product);
//		return result == 1?true:false;
//	}
//
//	@Override
//	public boolean setSpecialPrice(Long productId, Double specialPrice,
//			Date fromDate, Date toDate) {
//		Product product = new Product();
//		product.setUpdatedAt(new Date());
//		product.setProductId(productId);
//		product.setSpecialPrice(specialPrice);
//		product.setSpecialFromDate(fromDate);
//		product.setSpecialToDate(toDate);
//		int result = productMapper.updateByPrimaryKeySelective(product);
//		return result == 1?true:false;
//	}
//
//	@Override
//	public Double getSpecialPrice(Long productId) {
//		Product product = productMapper.selectByPrimaryKey(productId);
//		if(DateTimeUtils.isBetweenDate(product.getSpecialFromDate(), product.getSpecialToDate(), new Date())){
//			return product.getSpecialPrice();
//		}
//		return product.getPrice();
//	}
//
//	@Override
//	public boolean onStage(Long productId) {
//		Product product = new Product();
//		product.setProductId(productId);
//		product.setStatus(CommonConstants.CommonStatus.ENABLE);
//		int result = productMapper.updateByPrimaryKeySelective(product);
//		return result == 1?true:false;
//	}
//	
//	@Override
//	public boolean offStage(Long productId) {
//		Product product = new Product();
//		product.setProductId(productId);
//		product.setStatus(CommonConstants.CommonStatus.DISABLE);
//		int result = productMapper.updateByPrimaryKeySelective(product);
//		return result == 1?true:false;
//	}
//
//	@Override
//	public List<ProductTierPrice> getProductTierPrice(Long productId) {
//		return productTierPriceMapper.selectByProductId(productId);
//	}
//
//	@Override
//	public boolean updateProductTierPrice(Long productId,
//			List<ProductTierPrice> data) {
//		int successCount = 0;
//		for(ProductTierPrice item : data){
//			item.setProductId(productId);
//			int result = productTierPriceMapper.updateByProductIdCustomerGroupIdSelective(item);
//			if(result > 0){
//				successCount ++;
//			}
//		}
//		return successCount > 0 ?true:false;
//	}
//
//}
